*{margin: 0;padding: 0;box-sizing: border-box;}
*::after,*::before{box-sizing: border-box;}

header{
    position: relative;
}
.head{
    border: 1px solid black;
    width: 300px;
    height: 300px;
    position: relative;
    left: 50%;
    background-color: #07BEEA;
    margin-left: -160px;
    border-radius: 50%;
}
.face{
    width: 250px;
    height: 240px;
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -125px;
    background-color: white;
    border-radius: 50%;
}
.eye.left{
    position: absolute;
    border: 3px solid black;
    width: 72px;
    height: 82px;
    left: 50%;
    top: -20px;
    margin-left: -72px;
    border-radius: 390px/330px;
    background-color: white;
}
.eye.right{
    position: absolute;
    border: 3px solid black;
    width: 72px;
    height: 82px;
    left: 50%;
    top: -20px;
    border-radius: 390px/330px;
    background-color: white;

}
.eye.right::before{
    content: '';
    display: block;
    border: 1px solid black;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 30px;
    left: 5px;
    background-color: black;
    border-radius: 50%;
}
.eye.left::before{
    content: '';
    display: block;
    border: 1px solid black;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 30px;
    right: 5px;
    background-color: black;
    border-radius: 50%;
}
.nose{
    position: absolute;
    border: 1px solid black;
    width: 28px;
    height: 28px;
    left: 50%;
    margin-left: -14px;
    top: 46px;
    border-radius: 50%;
    background-color: #C93300;
}

@keyframes yao{
    0%{
        transform: rotate(0deg);
    }
    33%{
        transform: rotate(15deg);
    }
    66%{
        transform: rotate(-15deg);
    }
    100%{
        transform: rotate(0deg);
    }
}
.nose:hover{
    transform-origin: 50% 100%;
    animation: yao 1000ms linear infinite;
}

.goatee{
    position: relative;
    width: 220px;
    height: 80px;
    left: 50%;
    margin-left: -110px;
    top: 80px;
}
.goa{
    border: 1px solid black;
    width: 80px;
    position: absolute;
}


.goa.one{
    right: 0;
    top: 10px;
    transform: rotate(160deg);
}
.goa.two{
    right: 0;
    top: 50px;
    transform: rotate(20deg);

}
.goa.three{
    left: 0;
    top: 10px;
    transform: rotate(-160deg);
}
.goa.four{
    left: 0;
    top: 50px;
    transform: rotate(-20deg);
}
.goatee .five{
    position: absolute;
    border: 1px solid black;
    height: 60px;
    left: 108px;
}
.mouth{
    position: absolute;
    border: 1px solid black;
    width: 150px;
    height:60px;
    left: 50%;
    margin-left: -75px;
    top: 140px;
    border-radius: 100%;
    overflow: hidden;
}
.mouth::before{
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    top: 16px;
    width: 80px;
    height: 60px;
    border-radius: 50%;
    margin-left: -20px;
    background-color: #C93300;
}
.mouth::after{
    content: '';
    display: block;
    position: absolute;
    right:  50%;
    top: 16px;
    width: 80px;
    height: 60px;
    border-radius: 50%;
    margin-right: -20px;
    background-color: #C93300;

}

.soma{
    position: relative;
    border: 1px solid black;
    border-radius: 20%;
    width: 220px;
    height: 165px;
    left: 50%;
    margin-left: -118px;
    margin-top: -30px;
    background-color: #07BEEA;
    overflow: hidden;
}
.soma .round{
    position: absolute;
    border: 1px solid black;
    width: 180px;
    height: 180px;
    left: 50%;
    margin-left: -90px;
    border-radius: 50%;
    top: -40px;
    background-color: white;
}
.soma .wrap{
    position: absolute;
    width: 150px;
    height: 75px;
    left: 50%;
    margin-left: -75px;
    top: 50px;
    overflow: hidden;
}
.soma .wrap .pocket{
    position: absolute;
    border: 2px solid black;
    width: 150px;
    height: 150px;
    left: 50%;
    margin-left: -75px;
    top: -80px;
    border-radius: 50%;
}
.soma .wrap .pocket .line{
    position: absolute;
    border: 2px solid black;
    width: 160px;
    height: 90px;
    top: -10px;
}
.arm{
    position: relative;
    width: 360px;
    height: 100px;
    top: -165px;
    left: 50%;
    margin-left: -190px;
}
.arm .hand.left{
    position: absolute;
    border: 2px solid black;
    width: 50px;
    height: 100px;
    left: 40px;
    transform: rotate(60deg);
    background-color: #07BEEA;
    z-index: -1;
}
.arm .hand.right{
    position: absolute;
    border: 2px solid black;
    width: 50px;
    height: 100px;
    right: 40px;
    transform: rotate(-57deg);
    z-index: -1;
    background-color: #07BEEA;
}
.arm .finger.right{
    position: absolute;
    width: 60px;
    height: 60px;
    right:0;
    bottom: -3px;
    background-color: white;
    transform: rotate(-57deg);
    border-radius: 50%;
    border: 1px solid black;
}
.arm .finger.left{
    position: absolute;
    width: 60px;
    height: 60px;
    left:0px;
    bottom: 0px;
    background-color: white;
    transform: rotate(60deg);
    border-radius: 50%;
    border: 1px solid black;
}
footer{
    position: relative;
    width: 160px;
    height: 80px;
    left: 50%;
    margin-left: -88px;
    top: -110px;
}
.footer{
    position: absolute;
    border: 1px solid black;
    width: 50px;
    height: 80px;
    background-color: #07BEEA;
    z-index: -1;
}
.footer.left{
    left: 0;
}
.footer.right{
    right: 0;
}
.footer.left::before{
    position: absolute;
    border: 1px solid black;
    content: '';
    width: 80px;
    height: 50px;
    background-color: white;
    display: block;
    bottom: 0;
    top: 40px;
    left: -50%;
    border-radius: 50%;

}
.footer.right::before{
    position: absolute;
    border: 1px solid black;
    content: '';
    width: 80px;
    height: 50px;
    background-color: white;
    display: block;
    bottom: 0;
    top: 40px;
    left: -20%;
    border-radius: 50%;
}
.necklace{
    position: absolute;
    width: 180px;
    height: 20px;
    border: 1px solid black;
    border-radius: 40%;
    left: 50%;
    margin-left: -100px;
    top: 260px;
    z-index: 2;
    background-color: #E60110;
}
.necklace .bell{
    position: absolute;
    width: 28px;
    height: 28px;
    border: 1px solid black;
    left: 50%;
    margin-left: -14px;
    top:15px;
    border-radius: 50%;
    background-color: #F6EF2A;
}
.necklace .bell::before{
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    border: 1px solid black;
    top: 15px;
    left: 50%;
    margin-left: -5px;
    border-radius: 50%;
    background-color: black;
}
@keyframes bell{
    0%{
        transform: rotate(0deg);
    }
    33%{
        transform: rotate(15deg);
    }
    66%{
        transform: rotate(-15deg);
    }
    100%{
        transform: rotate(0deg);
    }
}
.bell:hover{
    transform-origin: 50% 0;
    animation: bell 1000ms linear infinite;
}